$(function() {
	var vocabulary = $("#vocabulary"), dictionary = $(".dictionary"), allFields = $(
			[]).add(vocabulary).add(dictionary), validateTips = $(".validateTips");

	function updateTips(t) {
		if(t) {
			validateTips.text(t).addClass("ui-state-highlight");
			setTimeout(function() {
				validateTips.removeClass("ui-state-highlight", 1500);
			}, 500);
		} else {
			validateTips.text(t).removeClass("ui-state-highlight");
		}
	}

	function checkLength(o, n, min, max) {
		if (o.val().length > max || o.val().length < min) {
			o.addClass("ui-state-error");
			updateTips("" + n + " 的长度必须在 " + min + " 和 " + max + " 之间。");
			return false;
		} else {
			return true;
		}
	}

	function checkEmpty(o, n) {
		if (o.val() != null && o.val().length > 0) {
			return true
		} else {
			o.addClass("ui-state-error");
			updateTips("" + n + " 不能为空 ");
			return false;
		}
	}

	function checkRegexp(o, regexp, n) {
		if (!(regexp.test(o.val()))) {
			o.addClass("ui-state-error");
			updateTips(n);
			return false;
		} else {
			return true;
		}
	}
	$("#dialog-form").dialog({
		autoOpen : false,
		height : 350,
		width : 550,
		modal : true,
		buttons : {
			"添加" : function() {
				var bValid = true;
				allFields.removeClass("ui-state-error");
				// 开始校验
				if(checkData()) {
					// 如果校验成功
					var formData = $('#actionSubmit').serialize();

					API.addAnalysisDictionary(formData, function(res) {
						if (res.code == '0') {
							window.location.reload();
						} else {
							alert(res.desc);
						}
					});
				}
			},
			Cancel : function() {
				$(this).dialog("close");
			}
		},
		close : function() {
			allFields.val("").removeClass("ui-state-error");
		},
		open : function() {
			$("#result").html('');
			validateTips.text('');
			if ($("#tabid").val() == '33_1' || $("#tabid").val() == '30_10') {
				add();
				add();
			} else {
				add();
			}
			$(this).find(".dictionary:first").focus();
		}
	});

	function checkData() {
		var msg = "";
		if ($("#tabid").val() == '33_1' || $("#tabid").val() == '30_10') {
			// 如果是歧义词典则至少需要两个分词
			var count = 0;
			$("#formData").find(".dictionary").each(function() {
				if($(this).val()) {
					count ++;
					if(!$(this).next().val()) {
						$(this).next().addClass("ui-state-error");
						msg += "请在词语后选择词性；";
					} else {
						$(this).next().removeClass("ui-state-error");
					}
				}
			});
			if(count < 2) {
				msg += "请至少添加两个分词；";
			}
		} else {
			if(!$("#formData").find(".dictionary").val()) {
				$("#formData").find(".dictionary").addClass("ui-state-error");
				msg += "请填写词语；";
			}
			if(!$("#formData").find(".dictionary").next().val()) {
				$("#formData").find(".dictionary").next().addClass("ui-state-error");
				msg += "请选择词性；";
			}
		}
		if(msg) {
			updateTips(msg);
			return false;
		} else {
			updateTips('');
			return true;
		}
	}
	
	$("#add-class").button().click(function() {
		$("#dialog-form").dialog("open");
	});
});

$("#dialog-confirm").dialog({
	autoOpen : false,
	height : 150,
	width : 400,
	modal : true,
	buttons : {
		"确定删除" : function() {
			var param = {
				"id" : $("#id").val()
			};
			API.deleteAnalysisDictionary(param, function(res) {
				if (res.code == '0') {
					window.location.reload();
				} else {
					alert(res.desc);
				}
			});
		},
		Cancel : function() {
			$(this).dialog("close");
		}
	}
});

function deleteDictionary(id) {
	$("#id").val(id);
	$("#dialog-confirm").dialog("open");
}

function preUpdate(obj) {
	$(obj).hide();
	$(obj).next("input").show();
	$(obj).next("input").focus();
}

function update(obj) {
	// inspectionUpdateTestingClass

	var param = {
		id : $(obj).attr("dataid")
	};

	if ($(obj).attr("id") == "updateVocabulary") {
		param.vocabulary = $(obj).val();
	}

	if ($(obj).attr("id") == "updateDictionary") {
		param.dictionary = $(obj).val();
	}

	API.updateAnalysisDictionary(param, function(res) {
		UTIL.releaseButton(obj);
		if (res.code == '0') {
			window.location.reload();
		} else {
			alert(res.desc);
			window.location.reload();
		}
	});
}

function add() {
	$("#result").append($("#copyDiv").html());
}

function dictionaryEdit(obj) {
	if ($("#tabid").val() == '33_1' || $("#tabid").val() == '30_10') {
		// 如果是歧义词典则是做拆分，在内容中需要添加多条
		if(typeof($(obj).parent().next().find(".dictionary").val())=="undefined") {
			if($(obj).val()) {
				add();
			}
		}
	}
	
	var vocabulary = "";
	$(".dictionary").each(function() {
		vocabulary += $(this).val();
	});
	
	$("#vocabulary").val(vocabulary);
}